This invention relates to data processing systems of the type which include various data files; and more particularly, it relates to computer implemented methods for imposing multi-object constraints on updates to such data files.
By a data file in a data processing system is herein meant any sort of computer record which contains several objects and which assigns certain attributes to each of those objects. For example, the objects of a data file can be the employees of a corporation; and, the attributes which are assigned to each employee in the file can be the employee's name, his salary, his manager, etc.
Also in a data processing system, there can be more than one file, each of which have their own objects. Further, an attribute in any one file can be an object of the second file which in turn has its own attributes; an attribute in the second file can be an object in a third file which in turn has its own attributes; etc. In this manner, objects of different files are related and linked together.
For example, the objects of one file (an employee file) can be all of the employees of a company; the objects of a second file (a manager file) can be all of the employees who are managers of a company; and, the objects of a third file (a project file) can be all of the projects of a company. In the employee file, each manager will be included as an attribute of the particular employees who report to that manager; and in the manager file, each project will be included as an attribute of the particular manager who manages that project.
Often in a data processing system, the attributes and/or the objects of the data files are not static; but instead, they are continually being updated. For example, an employee's salary may increase; an employee's manager may change; etc. These changes are initiated by update statements which are issued to the data processing system. Such update statements need not have any particular form; they only need to specify the objects of the update and the attributes that are to be changed.
In order to maintain the integrity of the data files, it is desirable to be able to impose on them multi-object constraints of any kind, and to have those constraints be enforced automatically whenever an update is made. One such constraint might, for example, limit the salary of an employee based on the funds of a project; another such constraint might limit the salary of a manager based on the average salary of all of the employees who work for the manager; etc. In general, with a multi-object constraint, the attributes of any file object are limited as a function of the attributes of one or more other file objects. However, in the prior art, no method for imposing such multi-object constraints existed.
Accordingly, a primary object of the invention is to provide a method in a data processing system of imposing multi-object constraints on the data files.